A tracking of received code modulated signals may be required, for example, in CDMA (Code Division Multiple Access) spread spectrum communications.
For a spread spectrum communication in its basic form, a data sequence is used by a transmitting unit to modulate a sinusoidal carrier and then the bandwidth of the resulting signal is spread to a much larger value. For spreading the bandwidth, the single-frequency carrier can be multiplied for example by a high-rate binary pseudo-random noise (PRN) code sequence comprising values of −1 and 1, which code sequence is known to a receiver. Thus, the signal that is transmitted includes a data component, a PRN component, and a sinusoidal carrier component. A PRN code period comprises typically 1023 chips, the term chips being used to designate the bits of the code conveyed by the transmitted signal, as opposed to the bits of the data sequence.
A well known system which is based on the evaluation of such code modulated signals is GPS (Global Positioning System). In GPS, code modulated signals are transmitted by several satellites that orbit the earth and received by GPS receivers of which the current position is to be determined. Each of the satellites transmits two microwave carrier signals. One of these carrier signals L1 is employed for carrying a navigation message and code signals of a standard positioning service (SPS). The L1 carrier signal is modulated by each satellite with a different C/A (Coarse Acquisition) Code known at the receivers. Thus, different channels are obtained for the transmission by the different satellites. The C/A code, which is spreading the spectrum over a 1 MHz bandwidth, is repeated every 1023 chips, the epoch of the code being 1 ms. The carrier frequency of the L1 signal is further modulated with the navigation information at a bit rate of 50 bit/s. The navigation information, which constitutes a data sequence, can be evaluated for example for determining the position of the respective receiver.
A receiver receiving a code modulated signal has to have access to a synchronized replica of the employed modulation code, in order to be able to de-spread the data sequence of the signal. For de-spreading the data sequence, a synchronization has to be performed between the received code modulated signal and an available replica code sequence. Usually, an initial synchronization called acquisition is employed for searching a satellite. Thereafter, a fine synchronization called tracking is employed for keeping the found satellite signal locked. In both synchronization scenarios, a correlator is used to find the best match between the replica code sequence and the received signal and thus to find their relative shift called code phase.
A correlator aligns an incoming signal with a replica code sequence with different assumptions on the code-phase. The correlator then multiplies the elements elementwise and integrates the resulting products to obtain a correlation value for each code-phase. If the alignment is correct, the correlation will be higher than in the case of a misalignment. Thus, the correlation peak is an indication of the correct code-phase. The search by the correlator can be performed in addition with different assumptions on an additional frequency modulation of the received signal.
Compared to the acquisition, the tracking searches in a smaller frequency range and code phase area. Still, the receiver usually comprises several tens of tracking channels. Only simple operations are shared between the different channels when searching in parallel for several frequencies, for example for a compensation of sinusoidal modulation remaining after a carrier wipe-off. Therefore, also tracking correlators are rather complex.
The tracking correlators of known receivers are implemented in hardware, and it is desirable to reduce the complexity of these correlators.